
# 装饰器

"""
概念 ： 它就是一个闭包函数 ，就是给其它函数赋能 。

__name__  : 获取对象的名字
"""

def info(func):
    def wrapper():
        print("[INFO]:调用{}()".format(func.__name__))
        return func()
    return wrapper


def say():
    return "hello python"


say_hello = info(say)
print(say_hello())

# 通过@标记在函数上

@info
def say_chinese():
    return "你好,中国"

print("================")
print(say_chinese())